<template>
  <div>
    <button @click="isShow = !isShow">显示/隐藏</button>
    <!-- (1) 只要加了transition的标签，则内部元素自动应用v-enter-active、v-leave-active
         (2) 如果给transition加了个名字name='hello'，则下面的默认动画名也要改成
             hello-enter-active、hello-leave-active
             name可以区分不同的动画，否则用的是同一个enter和leave
         (3) appear属性表示刚开始出现的时候就有enter效果
            -->
    <transition appear>
      <h1 v-show="isShow">你好啊~</h1>
    </transition>
</div>
</template>

<script>
export default {
  name: "myTest",
  data() {
    return {
      isShow: true,
    };
  },
};
</script>

<style scoped>
  h1 {
    background-color: orange;
  }
  
  /* 进来(显示)时的动画 */
  .v-enter-active{
     animation: jacezhou 1s linear;
  }

  /* 离开(不显示)时的动画 */
  .v-leave-active{
     animation: jacezhou 1s linear reverse;
  }

  @keyframes jacezhou {
     from{
       /* 注意这只是起始位置，并不是移动效果，刚开始在-100%的位置 */
       transform: translateX(-100%);
     }
     to{
       transform: translateX(0px);
     }
  }
</style>
